/*
小明是一个聪明的孩子，对数论有着很浓烈的兴趣。
他发现求1到正整数10n 之间有多少个素数是一个很难的问题，该问题的难以决定于n 值的大小。
现在的问题是，告诉你n的值，让你帮助小明计算小于10n的素数的个数值共有多少位？
输入数据有若干组，每组数据包含1个整数n（1 < n < 1000000000），若遇到EOF则处理结束。
对应每组数据，将小于10^n 的素数的个数值的位数在一行内输出，格式见样本输出。同组数据的输出，其每个尾数之间空一格，行末没有空格。
*/
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
/* x越大，小于等于x范围内的素数个数 Π(x) ~ x / ln(x)*/
/* 第n个素数 p(n) ~ n*ln(n) */
int main()
{
    double n, m;
    while (cin >> n)
    {
        m = n - log10(n) - log10( log(10) ) + 1;
        cout << (int)m << endl;
    }
    return 0;
}